package com.xcm.service;

import com.xcm.model.TbDeviceInfo;
import com.xcm.model.bo.ClientDeviceBO;

/**
 * 客户端与服务端交互逻辑Service
 */
public interface ClientService {

	/**
	 * 获取最新设置数据
	 *
	 * @param mac     mac地址
	 * @param xcVersion 播放版本号
	 * @return ClientDeviceBO
	 */
	ClientDeviceBO getStates(String mac, String xcVersion, TbDeviceInfo deviceInfo);

	/**
	 * 上报广告数据的下载状态
	 *
	 * @param mac          mac地址
	 * @param playJson     当前播放Json
	 * @param downloadJson 当前下载
	 * @param state        下载状态
	 * @param failure_reasonon  下载失败的reason
	 * @param ip 请求ip
	 */
	void setDownload(String mac, String playJson, String downloadJson, Integer state, String failure_reasonon,String ip);

	/**
	 * 上传日志
	 * @param mac   mac地址
	 * @param name  压缩包名
	 * @param url   文件地址
	 * @param type 日志类型 @see com.xcm.constant.LogType
	 */
	void uploadLog(String mac, String name, String url, String type);

}
